package Map;

import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

public class demo4 {
    public static void main(String[] args) {
        //map的第二种遍历方式
        Map<String, String> m = new HashMap<>();
        m.put("张无忌", "赵敏");
        m.put("郭靖", "黄蓉");
        m.put("杨过", "小龙女");
        //通过键值对对象进行遍历
        //3.1通过一个方法获取所有的键值对对象 ，返回一个Set集合
        //获取getkey方法和getvalue方法即可
        Set<Map.Entry<String, String>> entries = m.entrySet();
        //3.2遍历entries这个集合，去得到里面的每一个键值对对象
        //1.增强for
        /*for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey() + "=" + entry.getValue());
        }*/
        //entry 第一次循环的时候代表的是张无忌", "赵敏这个键值对对象，以此类推
        //迭代器
        /*Iterator<String> it= m.keySet().iterator();
        while(it.hasNext()){
            String key = it.next();
            String value = m.get(key);
            System.out.println(key+"="+value);
        }*/

        //lambda表达式
        //方法的底层其实就是利用增强for进行遍历，依次得到每一个键和值
        //再调用accept方法
        m.forEach((s1, s2) -> System.out.println(s1 + "=" + s2));

    }
}
